import siteInfo from "@/siteInfo.js"

module.exports = {
	request: function(url, method, data, needLogin = false) {
		/*     权限判断 因为有的接口请求头可能需要添加的参数不一样，所以这里做了区分
		    1 == 不通过access_token校验的接口
		    2 == 文件下载接口列表
		    3 == 验证码登录 */
		uni.showLoading();
		// if (needLogin && !uni.getStorageSync('userInfo')) {
		// 	uni.hideLoading()
		// 	uni.showToast({
		// 		title: "请先登录",
		// 		icon: "none",
		// 		complete() {
		// 			// #ifdef APP-PLUS
		// 			uni.navigateTo({
		// 				url: '/pages/public/login'
		// 			})
		// 			// #endif
		// 			// #ifdef MP-WEIXIN
		// 			uni.navigateTo({
		// 				url: '/pages/public/login'
		// 				// url: '/subPackage/weChartLogin/weChartLogin'
		// 			})
		// 			// #endif
		// 		}
		// 	})
		// }
		let token = uni.getStorageSync('userInfo').token
		let headers = {
			token
		}
		switch (method) {
			case "GET":
				// #ifdef APP-PLUS
				headers['Content-Type'] = "application/json"
				headers['CLIENT-FROM'] = "uniapp"
				// #endif
				
				// #ifdef MP-WEIXIN || H5
				headers['Content-Type'] = 'application/json'
				headers['CLIENT-FROM'] = "mini"
				// #endif
				
				break;
			case "POST":
			
				// #ifdef MP-WEIXIN || H5
				headers['Content-Type'] = 'application/x-www-form-urlencoded'
				headers['CLIENT-FROM'] = "mini"
				// #endif

				// #ifdef APP-PLUS
				headers['Content-Type'] = 'application/x-www-form-urlencoded'
				headers['CLIENT-FROM'] = "uniapp"
				// #endif
				
				break;
		}
		/*
				if (res[1].data.status == 1 || res[1].data.code == 0) {
						return res[1].data
					} else if (res[1].data.status == 999) {
						uni.showToast({
							title: "登录状态过期,请重新登录",
							icon: 'none',
							complete() {
								uni.navigateTo({
									url: '/pages/public/login'
								})
							}
						})
						return Promise.reject(res[1].data)
					} else {
						uni.showToast({
							title: res[1].data.msg|| '数据异常',
							icon: 'none'
						})
						throw res[1].data
						// return Promise.reject(res[1].data)
					}
		*/
		return uni.request({
			// // #ifdef H5
			// url: url,
			// // #endif
			// // #ifndef H5
			// url: siteInfo.apiroot + url,
			// // #endif
			url: siteInfo.apiroot + url,
			method,
			data: data,
			dataType: 'json',
			header: headers
		}).then(res => {
			uni.hideLoading()
			// if(res[1].data.status == 901){
			// 	uni.showToast({
			// 		title: res[1].data.msg,
			// 		icon: 'none'
			// 	})
			// 	uni.navigateTo({
			// 		url:'/subPackage/bindmobile/bindmobile.vue'
			// 	})
			// }
			if (res[1].data.status == 1 || res[1].data.code == 0) {
				return res[1].data
			} else if (res[1].data.status == 999) {
				// uni.showToast({
				// 	title: "您未登录，请前往个人中心登录",
				// 	icon: 'none',
				// 	complete() {
				// 		uni.navigateTo({
				// 			url: '/pages/public/login'
				// 		})
				// 	}
				// })
				return Promise.reject(res[1].data)
			} else {
				uni.showToast({
					title: res[1].data.msg || '数据异常',
					icon: 'none'
				})
				return  res[1].data 
				// throw res[1].data
				// return Promise.reject(res[1].data)
			}
		}).catch(parmas => {
			uni.hideLoading()
			return Promise.reject(parmas)
			uni.showToast({
				title: parmas.msg + 'catch',
				icon: 'none'
			})
		})
	},
	upload: function(options) {
		uni.uploadFile({
			url: (siteInfo.apiroot).concat(options.url || ''),
			filePath: options.filePath,
			name: options.name || '',
			formData: options.formData,
			success: (res) => {
				console.log('upload success')
				if (options.success) {
					options.success(res)
				}
			},
			fail: (err) => {
				console.log('upload faile')
				if (options.fail) {
					options.fail(err)
				}
			},
			complete: () => {
				if (options.complete) {
					options.complete()
				}
			}
		})
	}
}
